package showgo.modell.stueck;

import java.util.ArrayList;
import java.util.List;

/**
 * Ein Theaterstueck besteht aus mehreren Aufzuegen/Akten. Ein Akt besteht dabei
 * aus einer Akt-ID, z.B. "Erster Akt", und mindestens einer Szene.
 * 
 * @author lutz
 * 
 */
public class Akt {
    private String aktID;

    private List<Szene> szenen;

    public Akt(String aktID, List<Szene> szenen) {
	super();
	this.aktID = aktID;
	this.szenen = szenen;
    }

    public String getAktID() {
	return aktID;
    }

    public void setAktID(String aktID) {
	this.aktID = aktID;
    }

    public List<Szene> getSzenen() {
	return szenen;
    }

    public void setSzenen(List<Szene> szenen) {
	this.szenen = szenen;
    }

    public Akt tiefeKopie() {
	String neuAktID = new String(aktID);

	List<Szene> neuSzenen = new ArrayList<Szene>();
	for (int i = 0; i < szenen.size(); i++) {
	    Szene neuSzene = szenen.get(i).tiefeKopie();
	    neuSzenen.add(neuSzene);
	}

	Akt neuAkte = new Akt(neuAktID, neuSzenen);
	return neuAkte;
    }

    @Override
    public String toString() {
	String akte = this.aktID;
	for (int j = 0; j < this.szenen.size(); j++) {
	    akte += "\n" + "\n";
	    akte += this.szenen.get(j).toString();
	}
	return akte;
    }

}
